/* 后台数据接口
	1.设置响应头
	2.业务逻辑
	3.解决跨域
	
	正常授课过程中，可以先去使用路由模式进行编写项目，图表组件开发结束之后，切换成socket模式
*/
// 1.创建express实例对象
const Express = require("express");
const fs = require('fs');
const path = require("path")
const bodyParser = require("body-parser")
const cors = require("cors"); //解决跨域问题
const app = new Express();
// 1.设置响应头
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
	extended: true
}));
// 3.解决跨域问题
app.use(cors())
app.set('view engine', 'ejs');

// ==================正常路由模式处理后端数据=================
// 2.业务逻辑
// 2.1各地区种植面积统计TOP10  【横向柱状图】
app.get("/api/plantingAreaTop", (req, res) => {
	// 获取文件数据，返回给前端
	let fileUrl = path.join(__dirname, "data/plantingAreaTop.json");
	fs.readFile(fileUrl, function(err, data) {
		// console.log()
		res.send(data.toString())
	});
})
// 2.2全国种植收成情况 【竖向柱状图】
app.get("/api/plantingHarvest", (req, res) => {
	// 获取文件数据，返回给前端
	let fileUrl = path.join(__dirname, "data/plantingHarvest.json");
	fs.readFile(fileUrl, function(err, data) {
		res.send(data.toString())
	});
})
// 2.3各地区农作物种植区域占比  【环状图】
app.get("/api/cropAreasProportion", (req, res) => {
	// 获取文件数据，返回给前端
	let fileUrl = path.join(__dirname, "data/cropAreasProportion.json");
	fs.readFile(fileUrl, function(err, data) {
		res.send(data.toString())
	});
})
// 2.4全国农作物覆盖面积  地图
app.get("/api/CropCoverage", (req, res) => {
	// 获取文件数据，返回给前端
	let fileUrl = path.join(__dirname, "data/CropCoverage.json");
	fs.readFile(fileUrl, function(err, data) {
		res.send(data.toString())
	});
})
// 2.5主要地区农作物增长趋势
app.get("/api/CropGrowthTrend", (req, res) => {
	// 获取文件数据，返回给前端
	let fileUrl = path.join(__dirname, "data/CropGrowthTrend.json");
	fs.readFile(fileUrl, function(err, data) {
		res.send(data.toString())
	});
})

// 2.6农作物总面积占比
app.get("/api/TotalAreaCropsProportion", (req, res) => {
	// 获取文件数据，返回给前端
	let fileUrl = path.join(__dirname, "data/TotalAreaCropsProportion.json");
	fs.readFile(fileUrl, function(err, data) {
		res.send(data.toString())
	});
})



// api后台调用接口，修改数据
// app.get("/api/updateArea", (req, res) => {
// 	//使用socket.io-client连接socket.io-server
// 	let data = req.query.value || parseInt(Math.random() * 1000)
// 	var socket = clientio("http://localhost:3000")
// 	socket.emit("update", {
// 		type: "plantingAreaTop",
// 		data: data
// 	})
// 	res.send({
// 		msg: "update ok"
// 	})
// })
// app.get("/api/updateHarvest", (req, res) => {
// 	//使用socket.io-client连接socket.io-server
// 	let data = req.query.value || parseInt(Math.random() * 1000)
// 	var socket = clientio("http://localhost:3000")
// 	socket.emit("update", {
// 		type: "plantingHarvest",
// 		data: data
// 	})
// 	res.send({
// 		msg: "update ok"
// 	})
// })

app.listen("5000",()=>{
	console.log(5000)
})

// ==============seckot处理后端数据==================
// const clientio = require("socket.io-client")
// // 引入socket.io 模块
// const WebSocket = require('socket.io')
// // 3.设置端口号
// let server = app.listen(3000)
// // // 创建io对象
// let io = WebSocket(server);
// // 连接事件 wsObj客户端连接对象
// io.on("connect", function(wsObj) {
// 	// message :  前端函数名称
// 	// msg  ： 是当前获取数据名称
// 	wsObj.on('message', (msg) => {
// 		// 获取文件数据，返回给前端
// 		let fileUrl = path.join(__dirname, "data/" + msg + ".json");
// 		fs.readFile(fileUrl, function(err, data) {
// 			io.sockets.emit(msg, data.toString())
// 		});
// 	})
// 	wsObj.on("update", (list) => {
// 		if (list.type == "plantingAreaTop") {
// 			let data = JSON.parse(fs.readFileSync(path.resolve(__dirname,
// 				"./data/plantingAreaTop.json"), 'utf-8'));
// 			data[0].area = Number.parseInt(list.data);
// 			fs.writeFile(path.resolve(__dirname, "./data/plantingAreaTop.json"), JSON.stringify(data), {
// 				flag: 'w',
// 				encoding: 'utf-8'
// 			}, err => {
// 				if (err) {
// 					console.log('修改失败')
// 				} else {
// 					console.log(data, '修改之後的值')
// 					io.sockets.emit("plantingAreaTop", JSON.stringify(data))
// 				}
// 			})
// 		}
// 		if (list.type == "plantingHarvest") {
// 			let data = JSON.parse(fs.readFileSync(path.resolve(__dirname,
// 				"./data/plantingHarvest.json"), 'utf-8'));
// 			data[0].harvest = Number.parseInt(list.data);
// 			fs.writeFile(path.resolve(__dirname, "./data/plantingHarvest.json"), JSON.stringify(data), {
// 				flag: 'w',
// 				encoding: 'utf-8'
// 			}, err => {
// 				if (err) {
// 					console.log('修改失败')
// 				} else {
// 					console.log(data, '修改之後的值')
// 					io.sockets.emit("plantingHarvest", JSON.stringify(data))
// 				}
// 			})
// 		}

// 	});
// })


